From 772aebeab986e570c569eb863ef44b8c3c4aadf7 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 8 Jul 2010 17:54:42 +0100 Subject: [PATCH] tools/libxl: implement support for nomigrate option in VM profiles Signed-off-by: Gianni Tedesco Acked-by: Stefano Stabellini --- tools/libxl/libxl.h | 1 + tools/libxl/libxl_dom.c | 2 ++ tools/libxl/xl_cmdimpl.c | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 4bb0bc1716..9ca67e826f 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -97,6 +97,7 @@ typedef struct { uint32_t target_memkb; uint32_t video_memkb; uint32_t shadow_memkb; + bool disable_migrate; const char *kernel; int hvm; union { diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index 39b1b09ef8..3f673398ed 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -68,6 +68,8 @@ int build_pre(struct libxl_ctx *ctx, uint32_t domid, (info->hvm) ? info->max_memkb : (info->max_memkb + info->u.pv.slack_memkb)); xc_domain_set_tsc_info(ctx->xch, domid, info->tsc_mode, 0, 0, 0); + if ( info->disable_migrate ) + xc_domain_disable_migrate(ctx->xch, domid); if (info->hvm) { unsigned long shadow; diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index d95466c65d..e7aa89b841 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -192,6 +192,7 @@ static void init_build_info(libxl_domain_build_info *b_info, libxl_domain_create b_info->max_vcpus = 1; b_info->max_memkb = 32 * 1024; b_info->target_memkb = b_info->max_memkb; + b_info->disable_migrate = 0; if (c_info->hvm) { b_info->shadow_memkb = 0; /* Set later */ b_info->video_memkb = 8 * 1024; @@ -360,6 +361,7 @@ static void printf_info(int domid, printf("\t(tsc_mode %d)\n", b_info->tsc_mode); printf("\t(max_memkb %d)\n", b_info->max_memkb); printf("\t(target_memkb %d)\n", b_info->target_memkb); + printf("\t(nomigrate %d)\n", b_info->disable_migrate); printf("\t(image\n"); if (c_info->hvm) { @@ -551,6 +553,9 @@ static void parse_config_data(const char *configfile_filename_report, : libxl_get_required_shadow_memory(b_info->max_memkb, b_info->max_vcpus); + if (!xlu_cfg_get_long (config, "nomigrate", &l)) + b_info->disable_migrate = l; + if (!xlu_cfg_get_long(config, "tsc_mode", &l)) b_info->tsc_mode = l; -- 2.30.2